/*
 * @Author: aggfb 714740235@qq.com
 * @Date: 2024-04-22 21:39:52
 * @LastEditors: aggfb 714740235@qq.com
 * @LastEditTime: 2024-05-18 23:46:03
 * @FilePath: \2.code\label_rack_control\firmware\bsp\bsp_timer.h
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
#ifndef __BSP_TIMER_H
#define __BSP_TIMER_H

#include "apm32f10x_conf.h"
#include "bsp_sys.h"
#include "stdlib.h"

#ifdef MCU_TYPE_APM

#else
/*TIM4 捕获分辨率1Mhz*/
#define TIM4_ARR (0xffff)
#define TIM4_PSC (64)

/*TIM1 捕获分辨率100Khz*/
//#define TIM1_ARR (50000)
//#define TIM1_PSC (720)

#define BSP_TIMER4_CH4_GET_COUNT() TIM_GetCapture4(TIM4) /* 获取cnt值 */
#endif

extern void bsp_timer4_init(void); /* 用于1ms时基*/
extern void bsp_timer2_init(void); /* 用于捕获传感器数据 */
extern void bsp_timer31_init(void); /* 用于输出固定脉冲数量 */
extern void bsp_timer31_pulse_output(uint8_t repetition, uint32_t cycle, uint32_t num);/* 第一个参数用来调整速度, 第二个参数用来调整位置 */
extern void bsp_timer31_reset_count(void);


#endif
